class MainController < ApplicationController
  
  before_filter :login_required
  require_role 'admin', :only=>:admin
  require_role 'director', :only=>:director
  require_role 'marketing', :only=>:marketing
  require_role 'pedagogico', :only=>:pedagogico
  require_role 'calidad_total', :only=>:calidad_total
  require_role 'financiero', :only=>:financiero

  def index
    
    store_location

    @page_title = "Inicio"
    
    # como si o si voy a redirigir reenvio los flash
    # TODO no puedo hacer directamente flash = flash?
    flash[:notice] = flash[:notice]
    flash[:error] = flash[:error]
    flash[:success] = flash[:success]
    
    @instructor = current_user.instructor
    @alumnos = @instructor.alumnos.find(:all, :order=>'nombres')
    
    if current_user.has_role?('admin') then
      admin
    elsif current_user.has_role?('director') then
      director
    elsif current_user.has_role?('marketing') then
      marketing
    elsif current_user.has_role?('pedagogico') then
      pedagogico
    elsif current_user.has_role?('calidad_total') then
      calidad_total
    elsif current_user.has_role?('financiero') then
      financiero
    else
      instructor
    end
    
  end
  
  def admin
    render :action=>'admin'
  end

  def director
    render :action=>'director'
  end

  def marketing
    @instructor ||= current_user.instructor
    @alumnos ||= @instructor.alumnos.find(:all, :order=>'nombres')
    @alumnos_x_mes=Array::new(12){|mes| Persona.nro_alumnos_al(Date.parse("#{mes+1}/1/#{Date.today.year}").end_of_month)}
    @matrs_x_mes=Array::new(12){|mes| Matricula.count(:conditions=>"MONTH(fecha)=#{mes+1} and YEAR(fecha)=#{Date.today.year}")}
    render :action=>'marketing'
  end
  
  def pedagogico
    @instructor ||= current_user.instructor
    @alumnos ||= @instructor.alumnos.find(:all, :order=>'nombres')
    render :action=>'pedagogico'
  end
  
  def financiero
    @instructor ||= current_user.instructor
    @alumnos ||= @instructor.alumnos.find(:all, :order=>'nombres')
    render :action=>'financiero'
  end
  
  def calidad_total
    @instructor ||= current_user.instructor
    @alumnos ||= @instructor.alumnos.find(:all, :order=>'nombres')
    render :action=>'calidad_total'
  end

  def instructor
    @instructor ||= current_user.instructor
    @alumnos ||= @instructor.alumnos.find(:all, :order=>'nombres')
    render :action=>'instructor'
  end
  
  def faq
    render :action=>'faq'
  end

  def top_bar_refresh
#    K_LOGGER.debug "#{current_user.login}: main/top_bar_refresh: top_bar xhr refresh"
    render :partial=>'layouts/top_bar'
  end
  
  def side_bar_refresh
#    K_LOGGER.debug "#{current_user.login}: main/side_bar_refresh: side_bar xhr refresh"
    render :partial=>'layouts/side_bar'
  end
end
